package com.fp.m7.shared.services;

import java.util.List;

import com.fp.m7.shared.dto.UserDto;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

/**
 * The client side stub for the Follows RPC service.
 */
@RemoteServiceRelativePath("springGwtServices/follows")
public interface FollowService extends RemoteService {

    // secured:
    Boolean follow(UserDto userDto);

    Boolean unfollow(UserDto userDto);

    List<UserDto> listFollowed();

    List<UserDto> listFollowers();

    Integer countFollowed();

    Integer countFollowers();

    // public:
    List<UserDto> listFollowed(UserDto userDto);

    List<UserDto> listFollowers(UserDto userDto);

    Integer countFollowed(UserDto userDto);

    Integer countFollowers(UserDto userDto);

}
